package com.ndky2;

// Interface
interface Animal {
    public void animalSound(); // interface 方法 (没有实现)
}

// Pig "implements" Animal 接口
class Pig implements Animal {
    public void animalSound() {
        // 这里提供了animalSound()方法的实现
        System.out.println("小猪说: 呜呜");
    }
}

// Dog "implements" Animal 接口
class Dog implements Animal {
    public void animalSound() {
        // 这里提供了animalSound()方法的实现
        System.out.println("小狗说: 汪汪");
    }
}

class MyMainClass {
    public static void main(String[] args) {
        Pig myPig = new Pig();  // 创建Pig对象
        Dog myDog = new Dog();  // 创建Dog对象
        Animal animal1 = new Pig();  // Animal 对象引用新创建Pig对象
        Animal animal2 = new Dog();  // Animal 对象引用新创建Dog对象

        makeAnimalSound(myPig);
        makeAnimalSound(myDog);
        makeAnimalSound(animal1);
        makeAnimalSound(animal2);
    }
    public static void makeAnimalSound(Animal animal)
    {
        animal.animalSound();
    }
}

